package org.springblade.modules.repair.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.modules.repair.dto.MaintainTimeSubmitDTO;

import java.util.List;

@Data
@TableName("blade_building_ext")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BuildingExt对象", description = "楼盘信息")
public class BuildingExt extends TenantEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 项目id
	 */
	@ApiModelProperty(value = "项目id")
	private Long buildingId;
	/**
	 * 项目图片
	 */
	@ApiModelProperty(value = "项目图片")
	private String buildingImg;
	/**
	 * 项目备注
	 */
	@ApiModelProperty(value = "项目备注")
	private String buildingRemark;
	/**
	 * 停车位 0-未知 1-有停车位 2-无停车位
	 */
	@ApiModelProperty(value = "停车位 0-未知 1-有停车位 2-无停车位")
	private Integer parkingSpot;
	/**
	 * 保养人数 0-不限 1-2人 2-2人以上
	 */
	@ApiModelProperty(value = "保养人数 0-不限 1-2人 2-2人以上")
	private Integer maintainPersonnel;
	/**
	 * 预约要求 0-不限 1-需预约
	 */
	@ApiModelProperty(value = "预约要求 0-不限 1-需预约")
	private Integer makeAppointment;

	/**
	 * 允许保养作业时间段 0-不限 1-固定时段
	 */
	@ApiModelProperty(value = "允许保养作业时间段 0-不限 1-固定时段")
	private Integer allowMaintain;
	/**
	 * 0-统一 1-自定义
	 */
	@ApiModelProperty(value = "0-统一 1-自定义")
	private Integer allowMaintainImm;
	/**
	 * 救援时间要求 0-30分钟以内 1-特殊救援时间要求
	 */
	@ApiModelProperty(value = "救援时间要求 0-30分钟以内 1-特殊救援时间要求")
	private Integer rescueTime;
	/**
	 * 白天时间值（min）
	 */
	@ApiModelProperty(value = "白天时间值（min）")
	private Integer rescueDaytime;
	/**
	 * 晚上时间值（min）
	 */
	@ApiModelProperty(value = "晚上时间值（min）")
	private Integer rescueNight;

	@ApiModelProperty(value = "是否驻点: 1-不限，2-驻点")
	private Integer stagnationPoint;

	@ApiModelProperty(value = "时间区间值")
	@TableField(exist = false)
	private Building building;

	@ApiModelProperty(value = "项目别名")
	@TableField(exist = false)
	private List<RelationAlias> relationAliases;

	/**
	 * 维修到达时间 2m 表示2分钟 2h 表示2小时
	 */
	@ApiModelProperty(value = "维修到达时间 2m 表示2分钟 2h 表示2小时")
	private String malfunctionWorkArrivalTime;

	@ApiModelProperty(value = "时间区间值")
	@TableField(exist = false)
	private List<MaintainTimeSubmitDTO> buildingMaintainTimes;

}
